Changes history for App::RPi::EnvUI
0.22 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
0.21 2016-10-04
- had to change version numbers because of a typo in 0.2, which should
have been 0.02
- added sensor_pin to core config section in json and db
- fix issue where wiringPi was being loaded multiple times, breaking
things. First, set up a check in %INC to see if they've already
been required, then instead of passing a new API object to each
event, we now pass in $self instead, so we don't call new() which
tries to load the wiringPi libraries again
- the 'envui' app dir now gets placed in the user's home directory, and
works
0.03 2016-10-04
- broke out the main components (route-handler, API, DB) into distinct
abstraction layers making it easy to test specific sections, and use
the various pieces external from the web app
- significant amount of test coverage written, particularly for API
and DB
- many small bugs corrected, and error checking added while in the
process of test writing
- separated testing from prod in API and DB (needs more work)
- initial work done on using memory-backed databases. For now, they are
fully implemented in testing
- temp and humidity limits are now grabbed by jquery from the API, so
there's no risk of conflict (closes #1)
- set reasonable real defaults in the default config file (closes #2)
- we now get the control aux values from the API instead of having them
specified all over the place manually (closes #3)
- the "next on" UI display is now updated on each fetch of the aux
states 9closes #8)
- in the Makefile.PL in a postamble, we now create a new app dir
(envui), and copy in the relevant pieces into it on 'make install'
(closes #10). More work will be needed here
- default config now has all aux pins set to -1. This is because GPIO 0
is a valid pin
- added core config section "testing" directive. This allows unit
testing on non-Pi boards, and on machines that don't have the wiringPi
C libraries installed
- next release will be doc and test focused
0.02 2016-10-01
- all auxillaries working
- temp/humidity on/off limits working
- aux override working
- min on time working (temp/humidity)
- light infrastructure added
- feeding infrastructure added
- initial pod for configuration
- dist default config/db
- graphs added, but don't use live data yet
- added App::FatPacker build structure
0.01 2016-09-15
- initial import