Skip to content

Add hysteresis (thresholds) to filter new readings handling to save energy #212

@melkati

Description

@melkati

Tasks:

  • Code variables for thresholds and options
  • Code HTML page to edit thresholds and options
  • Code JavaScript to edit thresholds and options
  • Add tooltips as integrated help and documentation
  • Add web server endpoint to get settings
  • Code JavaScript to get thresholds and options
  • Add web server endpoint to put settings
  • Code JavaScript to put thresholds and options
  • Alpha testing
  • Beta testing
  • Update Documentation

DISPLAY

As updating a e-Ínk display takes a time, we should a feature so users can choose if the display should be updated or not on small changes based on:

  • Absolut change on ppm: User can set a minimum value the ppm measurement should change to update the display (usually, here is no point in updating the display if the CO2 change is only 10 or 50ppm (maybe even 100).
  • Relative change on ppm: User can set a minimum percentage value the ppm measurement should change to update the display (if actual measurement is 800 ppm and this setting is set for 5%, for example, the display will not be updated until the new reading is 760 or 840).

Same thing will be done for temperature and humidity (exact same configuration and options).

WIFI & MQTT

If the threshold is not meet there is no need to waste time in connect to wifi or send data by MQTT

I guess big energy savings can be possible by implementing this logic.

ESPNOW

Similar workings to WIFI & MQTT

USER OPTIONS

The user should have also the capability to select AND or OR between both options (if the first value is 50 and second 10% and OR is selected, display will be updated only when the new value is 50 ppm more/less and previous one OR the difference is more/less 10%).

The user should choose independently if these thresholds must be utilised for DISPLAY, WIFI & MQTT and ESPNOW

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions