powersensor_local.virtual_household
Abstraction for producing a household view.
Functions
Helper for case where no solar merge is expected. |
|
Helper for case where no solar merge is expected. |
|
|
Attempts to match and merge solar+housenet average_power events. |
|
Attempts to match and merge solar+housenet summation events. |
|
Close-enough matching of duration_s in events. |
Classes
|
|
|
|
|
|
|
Class for processing average_power and summation_energy events into to/from grid, solar generation, and home usage events. |
- class powersensor_local.virtual_household.InstantaneousValues(starttime_utc, solar_watts, housenet_watts, duration_s)[source]
Bases:
object
- class powersensor_local.virtual_household.SummationDeltas(solar_generation, to_grid, from_grid, home_use)[source]
Bases:
object
- class powersensor_local.virtual_household.SummationValues(starttime_utc, solar_summation, solar_resettime, housenet_summation, housenet_resettime)[source]
Bases:
object
- class powersensor_local.virtual_household.VirtualHousehold(with_solar)[source]
Bases:
AsyncEventEmitterClass for processing average_power and summation_energy events into to/from grid, solar generation, and home usage events.
To use, simply feed the appropriate PlugApi events to the process_average_power_event and process_summation_event member functions.
Point-in-time power flow events include:
home_usage
from_grid
to_grid (only for solar kits)
solar_generation (only for solar kits)
These all have an event payload in the form:
{ timestamp_utc: , watts: }
Energy summation events include:
home_usage_summation
from_grid_summation
to_grid_summation (only for solar kits)
solar_generation_summation (only for solar kits)
These all have an event payload in the form:
{ timestamp_utc: , summation_resettime_utc: , summation_joules: }
Summations may reset at any time. Track the summation_resettime_utc field to take note of summation resets.
- class Counters(resettime_utc, solar_generation, to_grid, from_grid, home_use)[source]
Bases:
object
- powersensor_local.virtual_household.make_instant_housenet(ev)[source]
Helper for case where no solar merge is expected.
- Return type:
- powersensor_local.virtual_household.make_summation_housenet(ev)[source]
Helper for case where no solar merge is expected.
- Return type:
- powersensor_local.virtual_household.matching_instants(starttime_utc, solar_events, housenet_events)[source]
Attempts to match and merge solar+housenet average_power events.
- Return type: