Power-consumption metering endpoint

EP4689831A1Pending Publication Date: 2026-02-11LANDIS GYR TECH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024720675
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-31
Filing Date
2024-03-27
Publication Date
2026-02-11

AI Technical Summary

Technical Problem

Existing power-consumption meters face challenges in maintaining an accurate clock over time due to inherent errors in crystal oscillators, which can lead to incorrect load profile interval marking and missed demand maximums, impacting utilities and diagnostic data accuracy.

Method used

A power-consumption metering endpoint with a clock compensation module that receives reference clock updates, records these updates, determines an approximation function for clock error development, and performs local clock updates to minimize drift, thereby reducing the frequency of reference clock updates and network traffic.

Benefits of technology

This solution maintains a more accurate local clock, reducing clock drift and network traffic, and minimizing the occurrence of artificially extended load profile intervals, thus enhancing the accuracy of timestamps and reducing the need for reference clocks in network devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024021651_03102024_PF_FP_ABST
    Figure US2024021651_03102024_PF_FP_ABST
Patent Text Reader

Abstract

A power-consumption metering endpoint comprising: a local clock; a clock compensation module configured to: receive a plurality of reference clock time updates output by a reference clock; record times of the local clock at which the plurality of reference clock time updates were received; and determine an approximation function of the development of an error between the local and reference clocks; wherein the clock compensation module is further configured to: obtain a time of the local clock; use the time of the local clock and the approximation function to determine an error between the local and reference clocks; compute a compensated time using (i) the time of the local clock, and (ii) the error between the local and reference clocks; and transmit at least one clock configuration message based on the compensated time to the local clock which outputs a time update based on the clock configuration message(s).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] POWER-CONSUMPTION METERING ENDPOINT

[0002] TECHNICAL FIELD OF THE DISCLOSURE

[0003] The present disclosure is in the field of power-consumption metering endpoints (e.g. electricity meters) for metering of electricity consumption, such as in residential and commercial premises. The disclosure relates, in particular, to power-consumption metering endpoints having a clock compensation module.

[0004] BACKGROUND

[0005] A power-consumption metering endpoint (e.g. an electricity meter, also known in the art as an electrical power meter, electric meter or electrical meter) is a device that measures an amount of electrical power consumed by one or more electrically powered devices over a time interval, such as at a residential or commercial premises.

[0006] Electricity meters are typically installed at premises for purposes of billing and monitoring of consumption. In some examples, electricity meters may be manually, periodically read to determine a level of electrical power consumption. In other examples, advanced electricity meters known in the art as ‘smart meters’ may be configured to communicate with a utility provider, e.g. wirelessly, to provide electrical power consumption information and / or receive billing information and / or control signals.

[0007] Electricity meters use time for monitoring usage, and for time stamps on diagnostic and billing related events. The accuracy of a clock maintained by a clock source in the meter can be susceptible to drift over time as the clock source is normally a crystal or crystal oscillator that will have an inherent error from nominal as well as an error over temperature and aging of the part.

[0008] Previously, electricity meters have used the grid line frequency as a time source to periodically calculate the error in its local clock and compensate for it. This has been widely abandoned as the grid operators have started to not follow a practice of keeping its line frequency in tight synchronization with an accurate reference time source

[0009] SUMMARY

[0010] The inventors have identified the need for a power-consumption metering endpoint that is able maintain a more accurate clock over time relative to a reference clock. When a time adjustment occurs, an electricity meter corrects its time and in doing so, marks load profile intervals as long or short based on the direction of the time adjustment and ends the current demand interval and starts a new one to ensure a demand maximum is not created due an artificially long interval, although a true new maximum may be not recorded due to this action. The marking of load profile intervals and potentially missed demand maximums have an impact to the utilities and therefore there is a benefit to minimizing how frequently this occurs. There is also a benefit to the usefulness of diagnostic and other event data if the accuracy of the timestamps associated with them is tighter.

[0011] According to a first aspect of the disclosure, there is provided a powerconsumption metering endpoint comprising: a local clock; a clock compensation module configured to: receive a plurality of reference clock time updates output by a reference clock external to the power-consumption metering endpoint; record times of the local clock at which each of the plurality of reference clock time updates were received; and determine an approximation function of the development of an error over time between the local clock and the reference clock using the plurality of reference clock time updates and the times of the local clock; wherein the clock compensation module is further configured to perform a local clock update process in which the clock compensation module is further configured to: obtain a time of the local clock; use the time of the local clock and the approximation function to determine an error between the local clock and the reference clock; compute a compensated time using (i) the time of the local clock, and (ii) the error between the local clock and the reference clock; and transmit at least one clock configuration message based on the compensated time to the local clock; wherein the local clock is configured to output a time update based on the at least one clock configuration message.

[0012] Advantageously, the power-consumption metering endpoint is able maintain a more accurate local clock.

[0013] A periodic update of the local clock performed by applying adjustments based on the calculated error, can drive the error between the local clock and the reference clock towards zero, which minimizes the amount of clock drift in the meter between reference clock updates and can reduce the frequency that the reference clock time updates need to occur. This can directly reduce the amount of network traffic that will need to be consumed by the transmittal of reference clock time updates. This can also reduce the number of network devices that will require a reference clock (e.g. a GPS module) in them. The at least one clock configuration message may comprise only a single clock configuration message, the single clock configuration message comprising the compensated time.

[0014] The at least one clock configuration message comprises only a single clock configuration message, the single clock configuration message comprising an instruction to the local clock to speed up or slow down by a time value corresponding to the error between the local clock and the reference clock.

[0015] The at least one clock configuration message comprises a plurality of clock configuration messages, the clock compensation module configured to successively transmit the plurality of clock configuration messages, each of the plurality of clock configuration messages comprising an instruction to the local clock to speed up or slow down by a time value, wherein the time value of each of the plurality of clock configuration messages sum to the error between the local clock and the reference clock.

[0016] The clock compensation module may be configured to receive one or more further reference clock time updates output by the reference clock, and adapt the approximation function using the plurality of reference clock time updates and the one or more further reference clock time updates.

[0017] The power-consumption metering endpoint may comprise: a communication unit configured to receive the plurality of reference clock time updates; and a metering unit, wherein the metering unit comprises a metering application configured to associate (i) power-related data which is associated with power consumed in a power distribution system, with (ii) the time update, to generate time based power-related data; wherein the communication unit may be further configured to communicate the time based power-related data to one or more external devices.

[0018] The metering unit may comprise the local clock and the clock compensation module.

[0019] Alternatively, the communication unit may comprises the local clock and the clock compensation module.

[0020] The metering unit may comprise: an interface to the power distribution system, said analogue power-related data associated with power consumed in the power distribution system; an analogue to digital conversion circuit for converting the analogue power-related data to digital power-related data; and a processor configured to process the digital power-related data to generate the power-related data, and supply the power-related data to the metering application The communication unit may be configured to communicate the time based power-related data via a mesh-based communications network to the one or more external devices.

[0021] The clock compensation module may be configured to receive the reference clock time updates periodically.

[0022] The clock compensation module may be configured to perform the local clock update process periodically.

[0023] According to a another aspect of the present disclosure, there is provided a mesh-based communications network comprising: the power-consumption metering endpoint described herein; and at least one network device, wherein a network device of the at least one network device comprises the reference clock.

[0024] The network device comprising the reference clock may be a further powerconsumption metering endpoint. Alternatively, the network device comprising the reference clock is a server.

[0025] According to a another aspect of the present disclosure, there is provided a method of updating a local clock on a power-consumption metering endpoint, the method performed by a clock compensation module on the power-consumption metering endpoint and comprising: receiving a plurality of reference clock time updates output by a reference clock external to the power-consumption metering endpoint; recording times of the local clock at which each of the plurality of reference clock time updates were received; and determining an approximation function of the development of an error over time between the local clock and the reference clock using the plurality of reference clock time updates and the times of the local clock; and performing a local clock update process by: obtaining a time of the local clock; using the time of the local clock and the approximation function to determine an error between the local clock and the reference clock; computing a compensated time using (i) the time of the local clock, and (ii) the error between the local clock and the reference clock; and transmitting at least one clock configuration message based on the compensated time to the local clock.

[0026] According to another aspect of the present disclosure there is provided at least one non-transitory computer-readable storage medium comprising instructions which, when executed by at least one processor causes the at least one processor to perform any of the methods performed by performed by the clock compensation module described herein.

[0027] The instructions may be provided on one or more carriers. For example there may be one or more non-transient memories, e.g. a EEPROM (e.g. a flash memory) a disk, CD- or DVD-ROM, programmed memory such as read-only memory (e.g. for Firmware), one or more transient memories (e.g. RAM), and / or a data carrier(s) such as an optical or electrical signal carrier. The memory / memories may be integrated into a corresponding processing chip and / or separate to the chip. Code (and / or data) to implement embodiments of the present disclosure may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language.

[0028] The above summary is intended to be merely exemplary and non-limiting. The disclosure includes one or more corresponding aspects, embodiments or features in isolation or in various combinations whether or not specifically stated (including claimed) in that combination or in isolation. It should be understood that features defined above in accordance with any aspect of the present disclosure or below relating to any specific embodiment of the disclosure may be utilized, either alone or in combination with any other defined feature, in any other aspect or embodiment or to form a further aspect or embodiment of the disclosure.

[0029] BRIEF DESCRIPTION OF THE DRAWINGS

[0030] These and other aspects of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, wherein:

[0031] Figure 1 illustrates a mesh network

[0032] Figure 2a depicts a schematic block diagram of a clock compensation module and a local clock according to one example arrangement;

[0033] Figure 2b depicts a schematic block diagram of a clock compensation module and a local clock according to another example arrangement;

[0034] Figure s depicts a schematic block diagram of a power-consumption metering endpoint according to an embodiment of the disclosure;

[0035] Figure 4 depicts a schematic block diagram of a power-consumption metering endpoint according to another embodiment of the disclosure;

[0036] Figure 5 is a flowchart illustrating a method which may be performed by a powerconsumption metering endpoint;

[0037] Figure 6 illustrates a waveform of an example linear equation that approximates an error between a local clock and a reference clock; Figure 7 is a flowchart illustrating a local clock update process; and

[0038] Figure s illustrates how use the time of a local clock and an approximation function may be used to determine an error between the local clock and a reference clock.

[0039] DETAILED DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 illustrates a mesh network 102 comprising multiple power-consumption metering endpoints 106. It will be appreciated that the number of power-consumption metering endpoints 106 shown in the mesh network 102 is merely an example. The mesh network 102 may be an advanced metering infrastructure (AMI), radio-frequency (RF) network. Other embodiments can be implemented outside of an AMI system.

[0041] In one example, the mesh network 102 is associated with a power distribution network to deliver measurement or other data obtained in the power distribution network. In this example, multiple power-consumption metering endpoints 106 include electricity meters implemented to measure various operating characteristics of the power distribution network and to transmit the collected data through the mesh network 102 to a server 104.

[0042] The server 104 receives streams of data or messages from the multiple powerconsumption metering endpoints 106. The server 104 can process the collected data or have the collected data be processed for various applications.

[0043] Each power-consumption metering endpoint 106 in the mesh network 102 may communicate with other devices in the mesh network 102 (e.g. the server 104 and the other power-consumption metering endpoints) by way of a wired and / or wireless communication channel. Similarly, the server 104 may communicate with one or more of the power-consumption metering endpoints 106 by way of a wired and / or wireless communication channel.

[0044] One or more of the multiple power-consumption metering endpoints 106 may comprises a reference clock 108. This is shown in Figure 1 by way of powerconsumption metering endpoint 106a comprising a reference clock 108. Alternatively or additionally, the server 104 may comprise a reference clock 108. The reference clock 108 is configured to provide (e.g. periodically) a plurality of reference clock time updates in an accurate and stable manner.

[0045] In accordance with embodiments of the present disclosure, a clock compensation module 206 of a power-consumption metering endpoint 106b-e uses (i) a plurality of reference clock time updates output by a reference clock 108, and (ii) times of a local clock 204 at which each of the plurality of reference clock time updates were received, to determine an approximation function of the development of an error over time between the local clock and the reference clock. This is described in more detail below with reference to Figures 5 and 6.

[0046] The clock compensation module 206 of the power-consumption metering endpoint 106b-e is then able to perform a local clock update process based on a time of the local clock and the approximation function, and transmit at least one clock configuration message based on the compensated time to the local clock 204. The at least one clock configuration message configures the local clock 204 to output a time update based on the at least one clock configuration message.

[0047] Figure 2a depicts a schematic block diagram of the local clock 204 and the clock compensation module 206 according to one example arrangement in which the local clock 204 and the clock compensation module 206 are components of a single processor 202, which may be for example a microprocessor or microcontroller.

[0048] Figure 2b depicts a schematic block diagram of the local clock 204 and the clock compensation module 206 according to another example arrangement in which the local clock 204 is external to a processor 222 comprising the clock compensation module 206. In this example arrangement the local clock 204 may be provided on a dedicated integrated circuit (IC). In this example arrangement the local clock 204 and the clock compensation module 206 may communicate via an I2C or SPI bus, or via UART.

[0049] In both example arrangements, the clock compensation module 206 is arranged to receive reference clock time updates output by a reference clock 108. The clock compensation module 206 is also arranged to receive local clock time updates from the local clock 204. The clock compensation module 206 is arranged to transmit at least one clock configuration message to the local clock 204. The local clock 204 is arranged to receive the at least one clock configuration message, and output time updates based on the at least one clock configuration message.

[0050] The functionality of the clock compensation module 206 described herein may be implemented in code (software) stored on a memory of the power-consumption metering endpoint comprising one or more storage media, and arranged for execution on the processor 202, 222 comprising one or more processing units. Alternatively, it is not excluded that some or all of the functionality of the clock compensation module 206 is implemented in dedicated hardware circuitry (e.g. ASIC(s), simple circuits, gates, logic, and / or configurable hardware circuitry like an FPGA). Figures 3 and 4 are schematic block diagrams of a power-consumption metering endpoint (e.g. one of the power-consumption metering endpoints 106b-e) which does not comprise a reference clock 108.

[0051] As shown in both Figures 3 and 4, the power-consumption metering endpoint 106 comprises a communications unit 302 and a metering unit 304.

[0052] The communications unit 302 enables wired and / or wireless communication between the power-consumption metering endpoint and other power-consumption metering endpoints and / or the server 104. In particular, the communications unit 302 is arranged to receive reference clock time updates that are output by the reference clock 108 (which is external to the power-consumption metering endpoint 106).

[0053] The communications unit 302 may allow radio frequency transmissions to be received from other power-consumption metering endpoints and / or the server 104. The communications unit 302 may allow radio frequency transmissions to be sent to other power-consumption metering endpoints and / or the server 104.

[0054] Alternatively or additionally, the communications unit 302 may allow communication with other power-consumption metering endpoints and / or the server 104 by way of power-line communication (PLC) over the power lines of a power distribution network.

[0055] Alternatively or additionally, the communications unit 302 may allow communication with other power-consumption metering endpoints and / or the server 104 by way of point to point wireless (e.g. cellular) communication.

[0056] The metering unit 304 is configured to receive analogue power-related data which is associated with power consumed in a power distribution network. The power- related data may comprise measured voltage, current and / or power signals. In particular the power-related data may comprise one or more of: (i) a load-side voltage signal indicating a voltage across a load (which may be a residential load such as a house); (ii) a ‘Phase C electrical current flowing to the load; and (iii) a ‘Phase A’ electrical current flowing to the load. The power-related data may comprise RMS voltage and / or current signals.

[0057] The metering unit 304 comprises an analogue-to-digital converter (ADC) 308 which converts the analogue power-related data into digital power-related data. The digital power-related data is output by the ADC 308 to a processor (e.g. a digital signal processor) 308 which is configured to process the digital power-related data and output processed digital power-related data (shown as “computed values”).

[0058] The metering unit 304 may further comprise a serial port 310 to allow optical communication between the power-consumption metering endpoint and a portable computing device during installation or maintenance procedures (e.g. to perform a billing data readout, for time of use (TOU) readout and modification, billing period reset, register and profile resets, parameter readout and modification etc.).

[0059] The metering unit 304 may further comprise an input device 312 (e.g. buttons) to allow user inputs to be received e.g. from a customer of a utility provider or a maintenance technician.

[0060] The metering unit 304 may further comprise a display device (e.g. a LCD display device) 314 for outputting data (e.g. power consumption information).

[0061] As shown in Figures 3 and 4 the metering unit 304 comprises a metering application 306.

[0062] The metering application 306 is arranged to receive the processed digital power-related data from the processor 308 and time information and generate time based power-related data using the processed digital power-related data and the time information. The time based power-related data may comprise one or more of (i) time of use information; (ii) load profile information; (iii) event log information; and (iv) demand information.

[0063] The time of use information may comprise a utility-configured calendar that defines daily schedules, such that energy and demand values are made of configured periods of the day such that different rates and penalties can be charged for the usage depending on time of the day.

[0064] The load profile information may comprise a set of configured metrics accumulated over a configured interval length. At the end of the interval, the resultant value for each metric is stored in memory. Memory is allocated such that a series of these interval values can be stored. The data is then periodically retrieved and can be used to verify the integrity of the billing summation reads (by adding up the interval values for the same period) and to present a trend of any given metric over time for internal usage in the utility or to provide information to the end customer.

[0065] The power-consumption metering endpoint (e.g. electricity meter) may be capable of recognizing various events. These events can be related to the electrical service (e.g. power loss and restoration, voltage sag, voltage swell, current overload etc.), to the metering / communication infrastructure (e.g. time set in the meter, time the meter configuration was changed) and / or diagnostic information internal to the meter (e.g. memory error detected). Any of these types of events can be configured to be recorded in a log of events when experienced. The event log information will typically record which type of event occurred, the date / time of the event, and optionally some additional parameters that better describe the instance (e.g. which phase of a 3-phase meter experienced a voltage sag).

[0066] The demand information may comprise one or more energy quantities (active, reactive and / or apparent) accumulated over a configured interval length. At the end of the interval length, the accumulated energy is divided by the interval length to provide the average power over this interval, which is called the demand. This demand value may then be compared to a list of maximum demand values for that metric kept by the meter. If this new value is one of the new maximums, it can be inserted into the list along with the date / time of this interval.

[0067] The functionality of the metering application 306 described herein may be implemented in code (software) stored on a memory of the power-consumption metering endpoint comprising one or more storage media, and arranged for execution on a processor comprising one or more processing units. The processor may for example be a microprocessor or microcontroller. Alternatively, it is not excluded that some or all of the functionality of the metering application 306 is implemented in dedicated hardware circuitry (e.g. ASIC(s), simple circuits, gates, logic, and / or configurable hardware circuitry like an FPGA).

[0068] As shown in Figures 3 and 4 the metering application 306 may be coupled to the serial port 310 to allow communication of parameters and data between the metering application 306 and the serial port 310. The metering application 306 may be coupled to the input device 312 to allow inputs (e.g. button presses) to be received by the metering application 306. The metering application 306 may be coupled to the display device 314 for outputting visual data (e.g. display values) to the display device 314.

[0069] It will be appreciated that the metering application 306 requires accurate time information in order to accurately generate the time based power-related data referred to above.

[0070] Figure 3 depicts a schematic block diagram of the power-consumption metering endpoint 106 according to some embodiments of the present disclosure. In particular, Figure 3 illustrates how the local clock 204 and the clock compensation module 206 may be implemented on the metering unit 304. That is, the local clock 204 and the clock compensation module 206 may be components of the metering unit 304. In these embodiments, the processor 202, 222 may also implement the functionality of the metering application 306. Alternatively, a separate processor to perform the functionality of the metering application 306 may be provided in addition to the processor 202, 222. In the embodiments of Figure 3, the communications unit 302 is arranged to receive the reference clock time updates output by the reference clock 108 and supply the reference clock time updates to the clock compensation module 206 on the metering unit 304. The local clock 204 on the metering unit 304 is arranged to transmit compensated time updates (based on the at least one clock configuration message received from the clock compensation module 206) to the metering application 306.

[0071] Figure 4 depicts a schematic block diagram of the power-consumption metering endpoint 106 according to other embodiments of the present disclosure. In particular, Figure 4 illustrates how the local clock 204 and the clock compensation module 206 may be implemented on the communications unit 302. That is, the local clock 204 and the clock compensation module 206 may be components of the communications unit 302. In these embodiments the communications unit 302 is arranged to receive the reference clock time updates output by the reference clock 108, and the local clock 204 on the communications unit 302 is arranged to transmit compensated time updates (based on the at least one clock configuration message received from the clock compensation module 206) to the metering application 306.

[0072] Figure 5 is a flowchart illustrating a method 500 which may be performed by the clock compensation module 206.

[0073] At step S502, the clock compensation module 206 initializes an integer value such that i=1 .

[0074] At step S504, the clock compensation module 206 receives a reference clock time update Clock_Refi that is output by the reference clock 108. The clock compensation module 206 associates the reference clock time update received at step S504 with the current value of the integer value i that is maintained by the clock compensation module 206 in memory of the power-consumption metering endpoint. It will be appreciated that the first reference clock time update that the clock compensation module 206 receives is denoted Clock_Refi, and subsequently received reference clock time updates will be Clock_Ref2, Clock_Ref3and so on.

[0075] At step S506, the clock compensation module 206 records a time of the local clock 204 Clock_Locali when the reference clock time update Clock_Refi was received at step S504. As noted above, the clock compensation module 206 is arranged to receive local clock time updates from the local clock 204.

[0076] At step S508, the clock compensation module 206 computes an error Erron (e.g. in seconds) between the reference clock time update Clock_Refi received at step S504 and the time of the local clock 204 recorded at step S506. In particular, the error may be computed as: Erron = Clock_Locali - Clock_Refi

[0077] At step S510, the clock compensation module 206 stores the error Errori and time of the local clock 204 Clock_Locali in memory of the power-consumption metering endpoint.

[0078] At step S512, the clock compensation module 206 determines whether a reference clock time update has previously been received (i.e. if i > 2). If the clock compensation module 206 determines that a reference clock time update has not previously been received (i.e. i=1 ), then the clock compensation module 206 increments the the integer value i at step S514, and the method 500 loops back to step S504, when the second reference clock time update Clock_Ref2 is received.

[0079] If the clock compensation module 206 determines that a reference clock time update has previously been received (i.e. i > 2), then the method 500 proceeds to step S516 where the clock compensation module 206 determines or modifies an approximation function of the development of an error over time.

[0080] Once two reference clock time updates have been received and two points are stored (each point corresponding to an error Erron and time of the local clock 204 Clock_Locali), these points can be used to form a linear equation that approximates the error at any given point in time in the future e.g. using linear approximation or curve fitting techniques. In particular, when i=2 at step S512, the clock compensation module 206 determines the approximation function.

[0081] Once three or more reference clock time updates have been received and three or more points are stored, (each point corresponding to an error Erron and time of the local clock 204 Clock_Locali), higher order equations can be made for the error e.g. using linear approximation or curve fitting techniques. That is, when i > 3 at step S512, the clock compensation module 206 modifies a previously established approximation function. With each new (e.g. periodic) update from the reference clock 108, the equation used can be recalculated using the new updated data point and any of the historic data points stored.

[0082] Figure 6 illustrates a waveform of an example linear equation that approximates the error Erron at any given point in time in the future. The example linear equation is computed by the clock compensation module 206 based on computing (i) Errori when the reference clock time update Clock_Refi was received at Clock_Locali ; (ii) Error2when the reference clock time update Clock_Ref2was received at Clock_Local2; and (iii) the time duration between Clock_Locali and Clock_l_ocal2. In this example, both errors Erro and Error2are positive and Erron is increasing. It will be appreciated that the value of Erron may be negative in some scenarios.

[0083] Figure 7 is a flowchart illustrating a local clock update process 700 which may be performed by the clock compensation module 206.

[0084] At step S702, the clock compensation module 206 obtains a time (Clock_Local) of the local clock 204. As noted above, the clock compensation module 206 is arranged to receive local clock time updates from the local clock 204.

[0085] At step S704, the clock compensation module 206 uses the time (Clock_Local) of the local clock and the previously established approximation function to determine an error (Error) between the local clock 204 and the reference clock 108. Figure 8 graphically illustrates how a data point 802 corresponding to the error (Error) at the time (Clock_Local) of the local clock 204 can be obtained using Clock_Local and the previously determined approximation function (in this example, a linear equation).

[0086] At step S706, the clock compensation module 206 computes a compensated time (tcomp) using (i) the time Clock_Local of the local clock, and (ii) the error (Error) between the local clock and the reference clock. In particular, the compensated time may be computed as: tcomp = Clock_Local - Error

[0087] In particular, the compensated time at any moment can be computed by taking the local time and subtracting off the approximate error computation for that point in time using the latest generated equation to approximate the error.

[0088] At step S706, the clock compensation module 206 transmits at least one clock configuration message based on the compensated time to the local clock 204 in order to configure the local clock 204.

[0089] The clock compensation module 206 may transmit only a single clock configuration message to the local clock 204. The single clock configuration message may comprise the compensated time, tcomp. Alternatively, the single clock configuration message may comprise an instruction to the local clock 204 to speed up or slow down by a time value (e.g. in seconds) corresponding to Error to correct the error. The local clock 204 may be used to provide precision timestamps that are associated with anomalies observed in the waveforms of the voltage or currents being measured. In these implementations, these events may be sent up to a head-end system (e.g. server 104) that collects such events for a large population of devices. It is desirable that the timestamps of these events be as accurate as possible in order to correlate whether events that were sent up by two devices that are near to each other in time correlate to the same event. For these implementations, it is preferable for the clock compensation module 206 to adjust the local clock 204 to the best approximated time immediately (by way of the transmission of the single clock configuration message) such that the local clock 204 is in close synchronization with the reference clock 108. In other embodiments, the single clock configuration message may comprise a rate at which the local clock 204 should adjust the time maintained by the local clock 204. For example, the rate may be in units of seconds / seconds, seconds / hour or milliSeconds / Hour for example, whereby the local clock 206 would adjust the amount in the numerator every interval of the denominator as measured by the local clock 204. The clock compensation module 206 may transmit a plurality of clock configuration messages to the local clock 204. The local clock 204 may be used to measure configured interval lengths over which it integrates measurements, and then the local clock 204 computes values related to this integrated data and records them along with a timestamp of the end of the interval (e.g. for Demand and Load profiles). The top of the minute by the local clock 204 is used to end these intervals. The duration of the interval will be longer or shorter than actual when a time change occurs within the interval. If the change is large enough, the interval value needs to be discarded or marked as short or long. In these implementations, it is preferable to spread the adjustment out over several intervals of time, such that each interval is close enough to the correct duration that no data needs to be discarded or flagged. Thus, the clock compensation module 206 may transmit a plurality of clock configuration messages to the local clock 204, each of the plurality of clock configuration messages comprising an instruction to the local clock 204 to speed up or slow down by a time value, wherein the time value of each of the plurality of clock configuration messages sum to the error (Error) between the local clock 204 and the reference clock 108.

[0090] The clock compensation module 206 may be able to operate according to both of these methods (i.e. transmit one or multiple clock configuration messages to the local clock 204) and select an appropriate operating method in dependence on a particular metering function being implemented by the power-consumption metering endpoint 106

[0091] The at least one clock configuration message configures the local clock 204 to correct the error (Error) between the local clock 204 and the reference clock 108. That is, the local clock 204 outputs a compensated time update based on the at least one clock configuration message. We refer herein to the local clock 204 outputting time updates based on the at least one clock configuration message as compensated time updates (time updates that are output by the local clock 204 after clock correction has been applied).

[0092] The local clock update process 700 may be performed at any point in time (not synchronous to receiving a reference clock time update output by the reference clock 108).

[0093] The local clock update process 700 may be performed by the clock compensation module 206 periodically. The frequency with which the local clock update process 700 is performed may be determined by the magnitude of drift between the local clock 204 and the reference clock 108 and the accuracy that can be achieved with the approximation of the error. For example, if the reference clock time updates are sent once an hour, the compensation algorithm may perform an adjustment every 5 minutes. In the first couple of days, the error seen when a reference clock update is made might still be close to the uncompensated time, but as the error estimation algorithm improves with more data points, improved performance is expected to be achieved. Conversely, the reference clock update rate could be slowed down to once a day while achieving the same error seen initially with 1 hour updates.

[0094] A periodic update of the local clock, applying adjustments based on the calculated error can drive the error between the reference clock 108 and the local clock 204 towards zero, which minimizes the amount of clock drift in the power-consumption metering endpoint between reference clock updates and can reduce the frequency that the reference clock updates need to occur. This advantageously reduces network traffic on the mesh network 102.

[0095] Additionally or alternatively, commencement of the local clock update process 700 being performed by the clock compensation module 206 may be triggered by an event. For example, the local clock update process 700 may be triggered when the approximated error exceeds a threshold. This would likely cause more updates during the heat of the day and fewer at night since clock drift is typically impacted by temperature.

[0096] It will be appreciated from the above that embodiments of the present disclosure allow for maintaining a more accurate local clock in a power-consumption metering endpoint over time relative to a reference clock. This enables a reduction of the number of devices in the mesh network 102 requiring a reference clock 108 in them as devices can rely on others (having a reference clock 108) in order to maintain accurate time. This further avoids false time-related power consumption data being logged and reported by a power-consumption metering endpoint. Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), or a combination of these implementations. The terms “module,” “functionality,” “component”, and “application” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module, functionality, or logic represents program code that performs specified tasks when executed on a processor (e.g. CPU or CPUs). The program code can be stored in one or more computer readable memory devices. The features of the techniques described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.

[0097] Although the disclosure has been described in terms of particular embodiments as set forth above, it should be understood that these embodiments are illustrative only and that the claims are not limited to those embodiments. Those skilled in the art will be able to make modifications and alternatives in view of the disclosure, which are contemplated as falling within the scope of the appended claims. Each feature disclosed or illustrated in the present specification may be incorporated in any embodiments, whether alone or in any appropriate combination with any other feature disclosed or illustrated herein.

Claims

CLAIMS1 . A power-consumption metering endpoint comprising: a local clock; a clock compensation module configured to: receive a plurality of reference clock time updates output by a reference clock external to the power-consumption metering endpoint; record times of the local clock at which each of the plurality of reference clock time updates were received; and determine an approximation function of the development of an error over time between the local clock and the reference clock using the plurality of reference clock time updates and the times of the local clock; wherein the clock compensation module is further configured to perform a local clock update process in which the clock compensation module is further configured to: obtain a time of the local clock; use the time of the local clock and the approximation function to determine an error between the local clock and the reference clock; compute a compensated time using (i) the time of the local clock, and (ii) the error between the local clock and the reference clock; and transmit at least one clock configuration message based on the compensated time to the local clock; wherein the local clock is configured to output a time update based on the at least one clock configuration message.

2. The power-consumption metering endpoint of claim 1 , wherein the at least one clock configuration message comprises only a single clock configuration message, the single clock configuration message comprising the compensated time.

3. The power-consumption metering endpoint of claim 1 , wherein the at least one clock configuration message comprises only a single clock configuration message, the single clock configuration message comprising an instruction to the local clock to speed up or slow down by a time value corresponding to the error between the local clock and the reference clock.

4. The power-consumption metering endpoint of claim 1 , wherein the at least one clock configuration message comprises a plurality of clock configuration messages, theclock compensation module configured to successively transmit the plurality of clock configuration messages, each of the plurality of clock configuration messages comprising an instruction to the local clock to speed up or slow down by a time value, wherein the time value of each of the plurality of clock configuration messages sum to the error between the local clock and the reference clock.

5. The power-consumption metering endpoint of any preceding claim, wherein the clock compensation module is configured to receive one or more further reference clock time updates output by the reference clock, and adapt the approximation function using the plurality of reference clock time updates and the one or more further reference clock time updates.

6. The power-consumption metering endpoint of any preceding claim, wherein the power-consumption metering endpoint comprises: a communication unit configured to receive the plurality of reference clock time updates; and a metering unit, wherein the metering unit comprises a metering application configured to associate (i) power-related data which is associated with power consumed in a power distribution system, with (ii) the time update, to generate time based power- related data; wherein the communication unit is further configured to communicate the time based power-related data to one or more external devices.

7. The power-consumption metering endpoint of claim 6, wherein the metering unit comprises the local clock and the clock compensation module.

8. The power-consumption metering endpoint of claim 6, wherein the communication unit comprises the local clock and the clock compensation module.

9. The power-consumption metering endpoint of any of claims 6 to 8, wherein the metering unit comprises: an interface to the power distribution system, said analogue power-related data associated with power consumed in the power distribution system; an analogue to digital conversion circuit for converting the analogue power- related data to digital power-related data; anda processor configured to process the digital power-related data to generate the power-related data, and supply the power-related data to the metering application10. The power-consumption metering endpoint of any of claims 6 to 9, wherein the communication unit is configured to communicate the time based power-related data via a mesh-based communications network to the one or more external devices.11 . The power-consumption metering endpoint of any preceding claim, wherein the clock compensation module is configured to receive the reference clock time updates periodically.

12. The power-consumption metering endpoint of any preceding claim, wherein the clock compensation module is configured to perform the local clock update process periodically.

13. A mesh-based communications network comprising: the power-consumption metering endpoint of any preceding claim; and at least one network device, wherein a network device of the at least one network device comprises the reference clock.

14. The mesh-based communications network of claim 13, wherein the network device comprising the reference clock is a further power-consumption metering endpoint.

15. The mesh-based communications network of claim 13, wherein the network device comprising the reference clock is a server.

16. A method of updating a local clock on a power-consumption metering endpoint, the method performed by a clock compensation module on the power-consumption metering endpoint and comprising: receiving a plurality of reference clock time updates output by a reference clock external to the power-consumption metering endpoint; recording times of the local clock at which each of the plurality of reference clock time updates were received; anddetermining an approximation function of the development of an error over time between the local clock and the reference clock using the plurality of reference clock time updates and the times of the local clock; and performing a local clock update process by: obtaining a time of the local clock; using the time of the local clock and the approximation function to determine an error between the local clock and the reference clock; computing a compensated time using (i) the time of the local clock, and(ii) the error between the local clock and the reference clock; and transmitting at least one clock configuration message based on the compensated time to the local clock.

17. At least one non-transitory computer-readable storage medium comprising instructions which, when executed by at least one processor causes the at least one processor to perform the method of claim 16.