The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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