Changes for version 0.24 - 2016-10-11
- all modules now have initial draft POD
- separated out setting/fetching API variables from $self->{} to $self->method()
- migrated the API initialization tasks out of new() and into a new _init() method
- all subs in API now alphabetical in public/private sections
- logging is now configurable via method calls
- new db() method, sets/gets the db object
- new testing() method, sets/gets testing
- replaced all die() calls in API to confess(), makes it much easier to track things down
- 0.22/23 2016-10-11
- fixed critical bug where each process (events) were sharing a copy of the same DB handle (via the DB object stored within the API object), which was breaking periodically due to contention. (See http://perlmonks.org/?node_id=1173608)
- added initial logging configuration with Logging::Simple
- re-wrote light timing logic, and performed basic 12 hour tests for proper functionality
- added several more tests
- added more error check code
- events are now started within the API, instead of the Dancer2 app lib
- reset() now resets override, state and aux_on_time for all auxs on app load
- API::env() now returns a properly structured hashref with values set to zero for temp/humidity if the DB doesn't have any statistics data yet
- in API, created a $sensor class variable to make it easier to set up whether we're in tests or not
- more work on cleaning up in-module testing functionality, next round of changes will focus specifically on this and other code refactoring, along with initial draft of documentation for all modules
Documentation
Configuration options for App::RPi::EnvUI
Modules
One-page asynchronous grow room environment control web application
Core API abstraction class for the App::RPi::EnvUI web app
Database manager for App::RPi::EnvUI environment control sysytem
Asynchronous events for the Perl portion of App::RPi::EnvUI